﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using PhoneStore.Entity;

namespace PhoneStore.Presentation.CompositeControl
{
    /// <summary>
    /// Interaction logic for BillDetailListWindow.xaml
    /// </summary>
    public partial class BillDetailListWindow : WindowBase
    {
        public BillDetailListWindow(int billID)
        {
            InitializeComponent();
            SetUpComboBox();
            ucList.BillID = billID;
            ucList.SetUp(EnableEditItemFunc, true, CheckError);
        }

        void SetUpComboBox()
        {
            cbbProduct.DisplayMemberPath = "Text";
            cbbProduct.SelectedValuePath = "Value";
            cbbProduct.ItemsSource = DAO.GetAll<Product>().Select(x => new { Value = x.ProductID, Text = x.Model }); 
        }

        void EnableEditItemFunc(bool val)
        {
            cbbProduct.IsEnabled = txtAmount.IsEnabled = txtPrice.IsEnabled = val;
        }

        string CheckError()
        {
            string errors = "";
            if (cbbProduct.SelectedItem == null)
            {
                errors += "-Sản Phẩm không được trống\n";
            }
            ulong c;
            if (!ulong.TryParse(txtPrice.Text, out c))
            {
                errors += "-Giá sản phẩm phản là số nguyên dương\n";
            }
            if (!ulong.TryParse(txtAmount.Text, out c))
            {
                errors += "-Số lượng sản phẩm phản là số nguyên dương\n";
            }


            return errors;
        }
    }
}
